Nowadays, more and more people own or regularly use a plurality of heterogeneous computation or communication devices, such as mobile phones, Personal Computers (PC), laptops, tablets and Personal Digital Assistants (PDA). In addition, more and more people also own or regularly use a plurality of devices with similar features. For example, it is not unusual for an office worker to use two different personal computers (one at home and one in the office) or to have two different mobile phones (one for personal and one for professional use).
All the different devices used by a person do not generally have the same set of capabilities. In fact, as an example, only some of those devices may be capable of making/receiving phone calls. Furthermore, only some of those devices may be easily carried by the user, such as mobile phones or PDAs. Differently, other devices may be more difficult to transport around (such as laptops). Other may not be transported at all (such as personal computers). Moreover, there are certain types of tasks that, although they could be performed by most or all of the devices of a user, can be comfortably executed only with few of those. For instance, Internet browsing can be generally executed on a large range of devices. It is nonetheless far quicker and easier to do it on a PC with large screen and an ergonomic QWERTY keyboard, rather than on a touch-screen smartphone, with smaller screen and smaller keyboard.
Because of the different sets of capabilities of the various devices regularly used by a person, it could happen in many occasions that a user may need to perform tasks that require two or more devices to be completed. For instance, if a user is at home and wants to search for the phone number of a restaurant in order to make a reservation, it will search it on Internet preferably from its PC or laptop (which has large screen and ergonomic keyboard) and then dial it from its mobile phone. Another case of an action requiring the use of multiple devices consists in a user looking at the map of a place it is about to go and saving it on its mobile for later retrieval when arriving on site.
The execution of such tasks is frequently a cause of poor user experience, as it generally requires superfluous user intervention. For example, if a user wants to dial a phone number found while browsing the Internet from its laptop or PC, it would generally need to manually type the number in the mobile before being able to dial it. Another example is represented by the case of a user desiring to bookmark on a mobile phone a webpage found while browsing on the Web on another device. In this case, the user would have to type the entire Uniform Resource Locator (URL) of that web page on the target mobile device in order to bookmark it.
Another cause of poor user experience is caused by the difficulty of moving data across devices. For instance, if a user wants to copy an image or a music file from its PC to its mobile phone, it will have to connect the two device via a cable or to establish a local wireless network connection, such as a Bluetooth connection and then to transfer the required data.
All the issues described above could be considerably mitigated if the network connectivity of those devices could be advantageously used to make possible to exchange data and to remotely trigger actions or command from one device to another without the need of establishing a point-to-point communication link between the devices.
A number of solutions are known to those skilled in the art to address the issues described above. A downfall of these solutions is the need for a mobile application to be installed on the mobile phone in order to:                receive data originated by another device over a network communication channel,        elaborate the information received,        trigger actions as specified in the received message.        
In fact, the need of having a specific mobile application installed on the target mobile device is a considerable limitation of all those solutions, for a number of different reasons. First of all, for large scale deployment, a service provider needs to implement a specific mobile client application for all the mobile operating systems that are intended to be targeted. For instance, if it is desired to target devices equipped with Android, iOS, Blackberry OS (operating system) and Symbian Platform, four different client applications must be implemented. As a result, this would increase the time and cost of development, testing and maintenance of the solution.
Secondly, another limitation is the impossibility of targeting low end devices. In fact, such devices usually do not support the installation of applications after being shipped by the manufacturer.
Thirdly, the need for a user to manually discover and install the mobile application may be a cause of discomfort that could result in a reduced adoption of the service, especially among users with little familiarity with the usage of mobile devices.
Fourthly, since the application is linked to the mobile device, a user is required to discover and install it every time he uses a new device. This is another cause of user discomfort. In fact, in addition to the discomfort generated by the manual execution of application discovery and installation, if the user's new device is equipped with a different operating system from his previous device, the procedure for discovering and installing the application may be different. Furthermore, the user may be required to further configure the application on the new device in order to work correctly. All this considerably affects user experience as the user is required to carry out repetitive tasks that could be avoided.
There is still a need today for a solution that allows the transfer of data and a command linked to the data from one device to another. There is a further need for a solution that can work for various types of phones, including smartphones, regardless of their OS and low end devices that cannot support the download of a dedicated application.